home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
NEWSOFT
/
AUGUST
/
PPPDRV2
/
!ReadMe
< prev
next >
Wrap
Text File
|
1996-12-20
|
13KB
|
278 lines
PPPdriver (2.21) - PPP driver for Acorn TCP/IP stack and FreeNet 2.XX
NOTE: this program is SHAREWARE. Read the 'Licence' file for more info.
PPP is a network protocol that allows two computers to exchange IP packets
over serial lines. It is used by most Internet providers to allow remote
computers to connect to Internet via a modem dialup.
PPPdriver allows the Acorn TCP/IP stack or FreeNet to communicate with remote
hosts using serial lines. PPPdriver conforms to the DCI4 specification: this
means that it will currently work with Acorn's Internet software (both
version 4.07 and 5.02) and with FreeNet 2.00 or later but doesn't work with
older versions of FreeNet (eg. 1.02) that are DCI2-compatible.
A DCI2-compatible PPPdriver is available as a separate package. Note that the
DCI2 PPPdriver is no longer supported since a DCI4 version of FreeNet is
finally available (version 2.00 or later) and Acorn includes its own DCI4
Internet stack in RISC OS 3.60 or later.
Since PPPdriver is a rather plain port of the Unix pppd command and supports
the same command line interface, the documentation for PPPdriver will be
limited, refer to the pppd manual (supplied in the 'pppd_man' file) for more
detailed informations of the pppd syntax, authentication and routing.
Index
-----
- Installing
- Commands provided
- PPP files
- Connecting to an Internet provider
- SLIP vs PPP
- Disclaimer
- Known bugs
- Limitation of the ShareWare version
- Upgrades
- Contacting the Author
Installing
----------
PPPdriver can be installed either in the !Internet.drivers directory or in
!System.Modules.Network, together with all the other drivers. You should also
copy the "PPP" directory supplied in the PPPdriver archive in
!Internet.files.
If you are using PPPdriver with FreeNet 2.XX you should install PPPdriver in
the !FreeNet.Drivers directory alongside SLIPdriver and copy the "PPP"
directory in !FreeUser.Files.
PPPdriver can be loaded just like SLIPdriver (2.00):
RMRun INet:drivers.PPPdriver (if you installed it in !Internet.drivers)
or
RMRun System:Modules.Network.PPPdriver (if you installed it in !System.Modules.Network)
or
RMRun FreeNet:Drivers.PPPdriver (if you are using it with FreeNet 2.XX)
Commands provided
-----------------
PPPdriver provides 4 commands: pppd, pppstats, pppkill and pppreopen.
*pppd
This is the most important command since it deals with the setup of a PPP
connection. pppd works like Unix's pppd (with a few restrictions and
changes), refer to the pppd manual for a full documentation.
Unlike its Unix counterpart (that requires a tty name and speed), RISC OS
pppd accepts the name of the serial driver, the port number and the speed
(just like SLIPdriver).
PPP is an 'intelligent' protocol, it negotiates all the options between the
two connecting hosts in order to deal with different setups and requirements.
This means that usually the command required to connect to an Internet
provider is just:
pppd modem defaultroute noipdefault <Driver> <Port> <Speed>
- 'modem' means that PPPdriver will use modem control lines (Carrier Detect,
Data Terminal Ready) and hardware flow control (RTS/CTS)
- 'defaultroute' causes PPPdriver to set the default route to the remote host
(ie it automatically execute a "route add default <RemoteIP> 1" command)
- 'noipdefault' means that PPPdriver will ask the local IP address to the
remote host (this is needed for dynamically allocated IP addresses but
should also work for fixed IP addresses)
Note that PPPdriver, unlike SLIPdriver, doesn't need any "ifconfig" or "route
add" command since pppd automatically executes them once the IP negotiation
is done.
If your provider requires PAP authentication you need to use something like:
pppd modem defaultroute noipdefault user <Username> pwd <Password> <Driver> <Port> <Speed>
If you need to specify your IP address or the remote IP address:
pppd modem defaultroute noipdefault <LocalAddr>:<RemoteAddr> <Driver> <Port> <Speed>
You can omit <RemoteAddr> or <LocalAddr> if you just need one of the two.
Other useful parameters:
- 'local' is the opposite of 'modem' (ie don't use hardware flow control and
modem control lines). It can be used if you need to connect two computers
using a very simple nullmodem cable with just the send and receive line.
- 'asyncmap 0' can be used to prevent PPP from sending control characters as
a two-character escape sequence. You should only need this option if you
are connecting together two computers using a nullmodem cable.
- 'passive' prevents PPP from closing the connection if the remote host
doesn't reply to the negotiation packets. This can be used if you want to
try a PPP connection and eventually keep PPP listening if the remote host
isn't ready.
- 'silent' is similar to 'passive' but doesn't even initiates a connection
(ie PPP will just wait to receive some valid negotiation packet)
- 'debug' causes PPPdriver to print a lot of extra debug informations in the
debug file (see 'PPP files' below). You should only use this parameter if
PPPdriver fails the negotiation process; in fact it will log every packet
sent and received, so the debug file will grow very quickly.
If you need some esoteric pppd parameter you can have a look at the pppd
manual. Note that the following commands are not implemeted because they are
very Unix-specific: connect, disconnect, file, lock, detach, kdebug, login.
The configuration files (/etc/ppp/options and ~/.ppprc) mentioned in the pppd
manual are not implemeted, while the files stored (under Unix) in /etc/ppp
(eg ip-up) are stored (under RISC OS) in the InetDBase:PPP directory (ie
!Internet.files.PPP, usually). Finally, the 'pwd' parameter (used to specify
the PAP password) available in the RISC OS version is not available under
Unix; if you want you can use the 'pap-secr' file as in Unix although this is
not recommended nor useful.
*pppstats
This command shows some statistics about the PPP connections. The only
parameter accepted by 'pppstats' is 'all' that allows more statistics to be
displayed.
You can use this command to monitor the efficiency of the BSD Compression (if
it is used) and the quality of the serial line. When the serial line doesn't
lose any packet the "receive parity errors", "receive framing errors",
"unknown types received" and "input packets tossed" figures should be 0.
*pppkill
To close an active connection you should use the 'pppkill <ppp unit>' command
(eg. 'pppkill 0' if you want to close the first connection). PPPdriver will
then send the 'connection closed' packets to the remote host and drop the
connection. An alternative way to close all the PPP connections is to 'RMKill
PPPdriver' although this is a very rough and not recommended method!
*pppreopen
This command is only useful if BSD Compression is used and forces PPPdriver
to restart the compression negotiation. This can be useful if the compression
has been disabled due to some failures (eg packets lost due to serial line
failures) but should not be used otherwise; to detect this case you should
try the 'pppstats' command, if it says "BSD Compression (currently disabled)"
you could try to reenable it using 'pppreopen'.
PPP files
---------
PPPdriver prints some information about the connection in the file
!Internet.DebugPPP (or !FreeUser.DebugPPP). Unless you specify the 'debug'
flag on the 'pppd' command line (see above) it just prints a few informations
once the connection is established, otherwise it prints much more debug
messages, including the dump of every sent and received packet.
This file may grow larger and larger, especially if the system crashes (or
you reset it) while PPPdriver is loaded; you must always "RMKill PPPdriver"
before turning the computer off! If everything is working fine you should
delete this file regularly, but if PPPdriver fails the negotiation process
or if you notice something strange (eg excessively slow or often dropped
connections, incorrect routing, etc.) you should send this file to me so that
I could hopefully find the cause of your problems.
PPPdriver uses the !Internet.files.PPP (or !FreeUser.Files.PPP) directory to
store the 'ip-up' and 'ip-down' files; they are run, rispectively, when the
connection is established and when it is dropped. The 'PPP' directory
distributed with the PPPdriver archive contains two BASIC files that produce
a sound, so you can 'hear' when the negotiation process is finished and the
connection is active. You can modify them as you like, for example you can
make 'ip-up' load some application (a WWW browser, maybe); I don't recommend
you to 'RMKill' any Internet-related module (eg Internet, INetDB or PPPdriver
itself) from the 'ip-down' script because this may cause some unpredictable
result.
When you use the 'RegistPPP' program to register your copy of PPPdriver, it
will create a file called !Internet.files.PPP.register (or
!FreeUser.Files.PPP.register). This file will contain your personal username
and usercode, so you should not distribute it alongside your !Internet (or
!FreeUser) directory! For more informations about registering read the
'Licence' file.
Connecting to an Internet provider
----------------------------------
To connect to an internet provider I suggest you to use the FreeWare
application FreeDial (by Gert-Jan de Vos). It is very easy to configure and
includes a few scripts to run either SLIP or PPP with a number of providers.
Alternatively you could use SLIPdial or any other dialer, although I will not
be really helpful if you have problems with them (while I actively support
FreeDial when used in conjunction with PPPdriver).
SLIP vs PPP
-----------
Many people may wonder whether PPP is better than SLIP. PPP is more complex
than SLIP and is used in situations where SLIP isn't suitable, but if you
just need a protocol to connect your computer to Internet and your Provider
supports CSLIP (ie Van Jacobson compression of TCP headers over SLIP), then
PPP and SLIP will have the same performance.
SLIP may be more difficult to configure when dealing with dynamic IP (because
you need to get your IP in the connection script while pppd deals with
dynamic IP automatically) but once the configuration script has been written
SLIP and PPP works in the same way.
PPPdriver supports BSD Compression (ie every packet is compressed using the
LZW scheme), if your provider supports it you may have some speed improvement
over SLIP; remember that most modems automatically compress the data too, so
BSD Compression may not give you any significant improvement in this case.
When using a simple wire to connect two computers, BSD Compression may be
really helpful (depending, of course, on the sort of data being transferred).
Disclaimer
----------
PPPdriver has been tested and proved to be a stable and reliable program.
However, if for any reason (either your mistake or a bug in PPPdriver) it
causes you a loss of data, I am sorry for you but I WILL NOT BE HELD
RESPONSIBLE.
Use PPPdriver at your own risk.
Known bugs
----------
The bug related to corrupted output (in 'pppstats' or when PPPdriver was
RMKilled) seems to be definitely fixed. If you still suffer from these
problems please inform me.
Please report any bug to me, possibly sending the 'DebugPPP' that PPPdriver
creates in the !Internet or !FreeUser directory (using the 'debug' option)
and the output of the 'pppstats' command (if relevant).
Limitation of the ShareWare version
-----------------------------------
In the unregistered version the connection time has been limited to (circa)
10 minutes. When this time expires PPPdriver sends the packets required to
close the connection to the remote host and then closes down: in doing this,
it doesn't produce any error message but prints a message in
'!Internet.DebugPPP' (or '!FreeUser.DebugPPP').
The 'RegistPPP' program can be used to register your copy: read the 'Licence'
file for more informations about how to obtain your user name and user code.
Upgrades
--------
The latest version of PPPdriver is always available via WWW at:
http://cdc8g5.cdc.polimi.it/~pel0015/pppdriver.html
You will probably find it also at:
ftp://ftp.dsse.ecs.soton.ac.uk/pub/Acorn/freenet/s.monesi/
Contacting the Author
---------------------
Post: Sergio Monesi
Via Trento e Trieste 30
20046 Biassono (MI)
Italy
EMail: msergio@mbox.vol.it
pel0015@cdc8g5.cdc.polimi.it
sergio@freebsd.first.gmd.de
WWW: http://cdc8g5.cdc.polimi.it/~pel0015/